//用于给测试审核grid添加多选框
var testCheckGirdCheckBox = Ext.create('Ext.selection.CheckboxModel', {
	checkOnly:true,//不能通过点击行来选择
    listeners: [{
        select: function(sm, record,index,eOpts) {
        	recurrenceSpread(record.data.id);//递归展开节点
        	if(record.data.parentId!='root'){//如果不是最顶端节点
        		var bortherArray=testCheckGridStore.queryRecords('parentId',record.data.parentId);
        		var bortherAllSelect=true;
        		for(var i=0;i<bortherArray.length;i++){//判断他的兄弟节点是不是都也被选中了
        			if(!sm.isSelected(bortherArray[i])){
        				bortherAllSelect=false;
        				break;
        			}
        		}
        		if(bortherAllSelect)//如果兄弟节点都被选中了就把他们的父节点也选中
        			sm.select(testCheckGridStore.findRecord('id',record.data.parentId),true,false);//true代表继续保留之前的选择，false代表要触发select监听事件
        	}
        		if(!record.data.leaf)//如果他有儿子的话就把他的儿子也全部选中
        			sm.select(testCheckGridStore.queryRecords('parentId',record.data.id),true,false);//true代表继续保留之前的选择，false代表要触发select监听事件
        }
    },{
    	deselect :function(sm, record, index, eOpts ) {
//    		if(record.data.parentId!='root')//如果不是最顶端节点
//    			sm.deselect(testCheckGridStore.findRecord('id',record.data.parentId),false);//将他的父节点设为没有选中 false代表要触发select监听事件
//    		if(!record.data.leaf){
//    		    //如果他有儿子的话就把他的儿子也全部设置为不选中
//    		      sm.deselect(testCheckGridStore.queryRecords('parentId',record.data.id),false);//false代表要触发select监听事件
//    		}
    	}
    }]
});